package com.bj58.ecdata.calc.dbservice.dao.model;

import java.io.Serializable;

import com.bj58.ecdata.calc.dbservice.dao.annotation.DailyMultiDimensionAccValueMap;
import com.bj58.ecdata.calc.dbservice.dao.annotation.HourlyMultiDimensionAccValueMap;
import com.bj58.ecdata.calc.dbservice.dao.annotation.MinuteMultiDimensionAccValueMap;
import com.bj58.ecdata.calc.dbservice.dao.annotation.MultiDimensionAccValueMap;
import com.bj58.ecdata.calc.dbservice.dao.annotation.PrimaryDimension;
import com.bj58.ecdata.calc.dbservice.dao.annotation.TableName;

/**
 * @author lichao
 *
 */
@TableName("track")
public class TrackModel implements Serializable {
	private static final long serialVersionUID = 1L;
	@PrimaryDimension
	private Long time;
	private Integer platform;
	private String bussline;
	@MultiDimensionAccValueMap(dimensions = { "platform", "bussline" })
	@HourlyMultiDimensionAccValueMap(dimensions = { "platform", "bussline" })
	@DailyMultiDimensionAccValueMap(dimensions = { "platform", "bussline" })
	@MinuteMultiDimensionAccValueMap(dimensions = {})
	private Long pv;
	@MultiDimensionAccValueMap(dimensions = { "platform", "bussline" })
	@HourlyMultiDimensionAccValueMap(dimensions = { "platform", "bussline" })
	private Long listpv;
	@MultiDimensionAccValueMap(dimensions = { "platform", "bussline" })
	@HourlyMultiDimensionAccValueMap(dimensions = { "platform", "bussline" })
	@DailyMultiDimensionAccValueMap(dimensions = { "platform", "bussline" })
	@MinuteMultiDimensionAccValueMap(dimensions = {})
	private Long vppv;
	private Long uv;

	/**
	 * @return the time
	 */
	public Long getTime() {
		return time;
	}

	/**
	 * @param time
	 *            the time to set
	 */
	public void setTime(Long time) {
		this.time = time;
	}

	/**
	 * @return the platform
	 */
	public Integer getPlatform() {
		return platform;
	}

	/**
	 * @param platform
	 *            the platform to set
	 */
	public void setPlatform(Integer platform) {
		this.platform = platform;
	}

	/**
	 * @return the bussline
	 */
	public String getBussline() {
		return bussline;
	}

	/**
	 * @param bussline
	 *            the bussline to set
	 */
	public void setBussline(String bussline) {
		this.bussline = bussline;
	}

	/**
	 * @return the pv
	 */
	public Long getPv() {
		return pv;
	}

	/**
	 * @param pv
	 *            the pv to set
	 */
	public void setPv(Long pv) {
		this.pv = pv;
	}

	/**
	 * @return the listpv
	 */
	public Long getListpv() {
		return listpv;
	}

	/**
	 * @param listpv
	 *            the listpv to set
	 */
	public void setListpv(Long listpv) {
		this.listpv = listpv;
	}

	/**
	 * @return the vppv
	 */
	public Long getVppv() {
		return vppv;
	}

	/**
	 * @param vppv
	 *            the vppv to set
	 */
	public void setVppv(Long vppv) {
		this.vppv = vppv;
	}

	/**
	 * @return the uv
	 */
	public Long getUv() {
		return uv;
	}

	/**
	 * @param uv
	 *            the uv to set
	 */
	public void setUv(Long uv) {
		this.uv = uv;
	}

	/**
	 * @return the serialversionuid
	 */
	public static long getSerialversionuid() {
		return serialVersionUID;
	}

	@Override
	public String toString() {
		return String.format("TrackPcModel [time=%s, platform=%s, bussline=%s, pv=%s, listpv=%s, vppv=%s, uv=%s]", time, platform, bussline, pv,
				listpv, vppv, uv);
	}

}
